﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;


namespace myomscl.Interfaces
{
    #region delegate
    public delegate void OnSummaryDetailsViewLoad();
    public delegate void OnSummaryDetailsViewAddRemarks();
    public delegate void OnChangeContractor();
    public delegate void OnChangeActualArea();
    public delegate void OnChangeActualStartDate();
    public delegate void OnChangeActualEndDate();
    public delegate void OnChangeAlertType();
    public delegate void OnUpdateTrafficComments(string text, int id);
    public delegate void OnUpdateRemarks(string text, int id);
    public delegate void OnChangeActivityType ();
    public delegate void OnSaveTrafficComment();
    public delegate void OnHasTrafficProblemsChanged ();
    public delegate void OnSummaryPriceUpdated();
    

    #endregion

    public interface ISummaryDetailsView : IView
    {
        #region properties

        Int32 AlertId { get; }

        Int16? ActualArea { set; get; }
        DateTime? ActualStartDate { set; get; }
        DateTime? ActualEndDate { set; get; }
        
        //EstateDataSet.RemarksDataTable Comments { set; }
        //EstateDataSet.RemarksDataTable TrafficComments { set; }
        String Comment { get; }
        String TrafficComment { get; }
        Boolean HasTrafficProblems { get; set; }
        Dictionary<int, string> ActivityTypes { set; }
        Int32 ActivityType { get; set; }


        String NetworkOperatorAddress { set; }
        String NetworkOperatorEmail { set; }
        String NetworkOperatorContactPerson { set; }
        String NetworkOperatorContactPhone { set; }

        String ContractorPhone { set; }
        String ContractorEmail { set; }
        String ContractorContactPerson { set; }
        Dictionary<int,string> ContractorNameList { set; }
        Int32? ContractorId { set; get; }

        String MaterialsSum { set; }
        Boolean IsHerstel { set; }
        
        #endregion

        #region events
        event OnSummaryDetailsViewLoad OnSummaryLoad;
        event OnSummaryDetailsViewAddRemarks OnSummaryAddRemarks;
        event OnChangeContractor OnSummaryChangeContractor;
        event OnChangeActualArea OnSummaryChangeActualArea;
        event OnChangeActualStartDate OnSummaryChangeActualStartDate;
        event OnChangeActualEndDate OnSummaryChangeActualEndDate;
        event OnUpdateRemarks OnSummaryUpdateRemarks;
        event OnChangeActivityType OnSummaryChangeActivityType;
        event OnUpdateTrafficComments OnSummaryUpdateTrafficComments;
        event OnSaveTrafficComment OnSummarySaveTrafficComment;
        event OnHasTrafficProblemsChanged OnSummaryHasTrafficProblemsChanged;
        event OnSummaryPriceUpdated OnPriceUpdated;

        #endregion
    }
}